//
//  MFSDKBannerAd.h
//  IMSDK_CHINA
//
//  Created by pillow on 2025/8/11.
//  Copyright © 2025 MFSDK. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>

NS_ASSUME_NONNULL_BEGIN
@protocol MFSDKBannerAdDelegate <NSObject>

@optional
//banner广告请求成功
- (void)mfsdk_BannerAdDidLoad:(UIView *)bannerAdView;

//banner广告请求失败
- (void)mfsdk_BannerAdDidLoadFailWithError:(NSError *_Nullable)error;

//banner广告展示
- (void)mfsdk_BannerAdExposured:(UIView *)bannerAdView;

//banner广告点击
- (void)mfsdk_BannerAdDidClick:(UIView *)bannerAdView;

//用户点击了不喜欢按钮（只有穿山甲广告广告有此回调）
//filterwords数组的元素类型，穿山甲为BUDislikeWords
- (void)mfsdk_BannerAdView:(UIView *)bannerAdView dislikeWithReason:(NSArray*)filterwords;

//banner已经移除
- (void)mfsdk_BannerAdDidRemoved:(UIView *)bannerAdView;
@end

@interface MFSDKBannerAd : NSObject

//初始化方法，slotID为我们提供的广告位，rootViewController为banner广告所在的控制器
//穿山甲广告adsize是 300*45  320*50  300*75  300*130  300*150  300*200  300*250  345*194
//广点通广告adsize宽高比是6.4：1
//interval 轮播间隔，要求30~120s
- (instancetype)initWithSlotID:(NSString *)slotID rootViewController:(UIViewController *)rootViewController adSize:(CGSize)adsize;

// 广告刷新间隔，范围 [30, 120] 秒，默认值 30 秒。设 0 则不刷新。 [可选]
@property (nonatomic, assign) int interval;
@property (nonatomic, weak, nullable) id<MFSDKBannerAdDelegate> delegate;

//设置广告平台，1是穿山甲，2是广点通，7是百度可选
-(void)setAdLoadPlat:(int)plat;

// 广告是否有效，建议在展示广告之前判断
@property (nonatomic,assign) BOOL isAdValid;

- (void)loadAdData;

//广告的eCPM，单位：分 默认返回0，如果需要真实的ecpm，请联系SDK运营或技术人员
//在mfsdk_BannerAdDidLoad回调后可以调用
- (NSInteger)eCPM;

@end

NS_ASSUME_NONNULL_END
